﻿using System;
namespace Kis.Xroad.Eu {
    
    
    [System.SerializableAttribute()]
    public partial class ComplexTypeWithThreeDifferentArrayTypes {
        
        private System.Collections.Generic.List<System.DateTime?> @__builtins = new System.Collections.Generic.List<System.DateTime?>();
        
        private System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> @__udfs = new System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender>();
        
        private System.Collections.Generic.List<global::Kis.Xroad.Eu.Employee> @__complexs = new System.Collections.Generic.List<global::Kis.Xroad.Eu.Employee>();
        
        public ComplexTypeWithThreeDifferentArrayTypes() {
        }
        
        /// <summary>
        /// All parameters
        /// </summary>
        public ComplexTypeWithThreeDifferentArrayTypes(System.Collections.Generic.List<System.DateTime?> @builtins, System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> @udfs, System.Collections.Generic.List<global::Kis.Xroad.Eu.Employee> @complexs) {
            this.@__builtins = @builtins;
            this.@__udfs = @udfs;
            this.@__complexs = @complexs;
        }
        
        /// <summary>
        /// Copy Constructor
        /// </summary>
        protected ComplexTypeWithThreeDifferentArrayTypes(ComplexTypeWithThreeDifferentArrayTypes @complexTypeWithThreeDifferentArrayTypes) {
            this.@__builtins = @complexTypeWithThreeDifferentArrayTypes.Builtins;
            this.@__udfs = @complexTypeWithThreeDifferentArrayTypes.Udfs;
            this.@__complexs = @complexTypeWithThreeDifferentArrayTypes.Complexs;
        }
        
        public virtual System.Collections.Generic.List<System.DateTime?> Builtins {
            get {
                return this.@__builtins;
            }
            set {
                this.@__builtins = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Kis.Xroad.Eu.Gender> Udfs {
            get {
                return this.@__udfs;
            }
            set {
                this.@__udfs = value;
            }
        }
        
        public virtual System.Collections.Generic.List<global::Kis.Xroad.Eu.Employee> Complexs {
            get {
                return this.@__complexs;
            }
            set {
                this.@__complexs = value;
            }
        }
    }
}
